home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / data / fapx / fapxvres.plp < prev    next >
INI File  |  1994-11-16  |  19KB  |  741 lines

  1. [memono,file,lineno]
  2. /*    コメント作成処理の振り分け    */
  3. %COMMENT2{
  4.     [memono,file,lineno]
  5.     %txf @TXLLOG2(file,lineno);
  6.     case    (txf,
  7.         {error},,
  8.         ,
  9.         {
  10.         case    (@head(txf,{datano=},{;dataname})!=0,
  11.             {No},
  12.             {
  13.             footnote({コメントを作成します});
  14.             OpenMemo;
  15.             loop    ({
  16.                 footnote({終了取消    清書    マトコメ    }|
  17.                         {参照    CD辞        },{b});
  18.                 waitx();
  19.                 case    (@xtype,
  20.                     101,{savememo},    201,{savememo},
  21.                     102,{cancel},    202,{cancel},
  22.                     104,{rewrite},    204,{rewrite},
  23.                     106,{addhndl},    206,{addhndl},
  24.                     108,{newmemo},    208,{newmemo},
  25.                     110,{cddic},    210,{cddic},
  26.                     memono,{addhndl},
  27.                     ,{im({Yes})}
  28.                     );
  29.                 });
  30.             im({Yes});
  31.             },
  32.             {Yes},{downDLIB});
  33.         });
  34.     im({Yes});
  35.     };
  36.  
  37. /*    アップ用文書作成用メモをオープンする    */
  38. %OpenMemo{
  39.     InactMemo;
  40.     mopen(memono,0,21,639,240,{w});
  41.     mclose(1);
  42.     madd(memono+1,{});
  43.     mclear(memono+1);
  44.     %sketext    @Skeleton(txf);
  45.     case    (sketext = {},
  46.         {No},{madd(memono+1, sketext)},
  47.         {Yes},
  48.         {
  49.         %handle    @tail(txf,{;handle=},{;title=});
  50.         %inetID    @tail(txf,{wpnc=},{;title=});
  51.         case    (@head(txf,{=}),
  52.             {mail},
  53.             {madd(memono+1,{  }|handle|{さん\n})},
  54.             {wpnc},
  55.             {madd(memono+1,{  }|inetID|{さん\n})},
  56.             ,
  57.             {
  58.             %reply    @tail(txf,{;reply=},{;resp=});
  59.             case    (reply={}&&handle={},
  60.                 {Yes},{madd(memono+1,{})},
  61.                 {No},{madd(memono+1,{ #}|reply|{  }|
  62.                     handle|{さん\n})}
  63.                 );
  64.             });
  65.         });
  66.     mopen(memono+1,0,181,639,459,{w});
  67.     };
  68.  
  69. %Skeleton{
  70.     [txl]
  71.     %logtype    @head(txl,{=});
  72.     %checkSkelton    {
  73.         [key]
  74.         %skename    PADDIR2|@tail(txl, key|{=},{;})|{.ske};
  75.         case    (@filechk(skename),
  76.             {No},    {im(PADDIR2|key|{.ske})},
  77.             {Yes},    {im(skename)}
  78.             );
  79.         };
  80.     %skefile    @case    (logtype,
  81.         {mail},    {im(PADDIR2|{mail.ske})},
  82.         {wpnc},    {im(PADDIR2|{wpnc.ske})},
  83.         {hp},    {im(@checkSkelton({hp}))},
  84.         {forum},{im(@checkSkelton({forum}))},
  85.         {patio},{im(@checkSkelton({patio}))},
  86.         ,    {im(PADDIR2|{other.ske})}
  87.         );
  88.     case    (@filechk(skefile),
  89.         {No},
  90.         {im({})},
  91.         {Yes},
  92.         {
  93.         %sketext    @ske2txt(@read(skefile), txl);
  94.         im(sketext);
  95.         });
  96.     };
  97. /*    コメント作成メモ中に『#999  ハンドル』を追加する    */
  98. %addhndl{
  99.     case    (@mcheck==memono,
  100.         {Yes},
  101.         {
  102.         %txf2 @TXLLOG2(file,@xlinenum);
  103.         case    (txf2,
  104.             {error},,
  105.             ,
  106.             {
  107.             InactMemo;
  108.             mopen(memono,0,21,639,240,{w});
  109.             mclose(1);
  110.             %sketext    @Skeleton(txf2);
  111.             case    (sketext = {},
  112.                 {No},{madd(memono+1, sketext)},
  113.                 {Yes},
  114.                 {
  115.                 %handle    @tail(txf2,{;handle=},{;title=});
  116.                 case    (@head(txf2,{=})={mail},
  117.                     {Yes},
  118.                     {
  119.                     madd(memono+1,{\n  }|handle|{さん\n});
  120.                     },
  121.                     {No},
  122.                     {
  123.                     %reply    @tail(txf2,{;reply=},{;resp=});
  124.                     madd(memono+1,{\n #}|reply|{  }|
  125.                         handle|{さん\n});
  126.                     });
  127.                 });
  128.             mopen(memono+1,0,181,639,459,{w});
  129.             });
  130.         });
  131.     im({Yes});
  132.     };
  133.  
  134. /*    コメント宛て先を作成する    */
  135. %savememo{
  136.     case    (@head(txf,{=}),
  137.         {forum},
  138.         {
  139.         case    (@exist(@getchar(txf,7,20),{;mes=}),
  140.             {No},{mailDLIB},
  141.             {Yes},
  142.             {
  143.             case    (@tail(txf,{reply=},{;})={},
  144.                 {Yes},{sayMES},
  145.                 {No},{resMES}
  146.                 );
  147.             });
  148.         },
  149.         {patio},
  150.         {
  151.         case    (@tail(txf,{reply=},{;})={},
  152.             {Yes},{sayPATIO},
  153.             {No},{resPATIO}
  154.             );
  155.         },
  156.         {hp},{resHP},
  157.         {mail},{resMAIL},
  158.         {wpnc},{resWPNC}
  159.         );
  160.     };
  161.  
  162. %putmt    {
  163.     var    mestit[40];
  164.     %fl LOG2|{SIGN\}|forum|{.sgn};
  165.     case    (@filechk(fl),{No},{mestit:={}},
  166.         {Yes},
  167.         {
  168.         %yp {\n}|@SPP(mes,2,)|{   };
  169.         %mq @head(@body(@read(fl),yp),{\n});
  170.         case(mq={},{No},{mestit:=@getchar(mq,24)});
  171.         });
  172.     case(mestit,{},{im({})},,{im({c  会議室名    }|mestit|CRLF)});
  173.     };
  174.  
  175. /* 会議室へのコメント作成処理 */
  176. %resMES    {
  177.     %forum    @tail(txf,{forum=},{;});
  178.     %mes    @tail(txf,{mes=},{;});
  179.     %reply    @tail(txf,{reply=},{;});
  180.     %title    @tail(txf,{title=},{\n});
  181.     %resp    @tail(txf,{resp=},{;});
  182.     SNDMSG({nyuryo_f.snd});
  183.     %a    @plane(    {cフォーラムの会議室へのコメント\n}|
  184.             {tフォーラム名  /xxxxxxxx\n}|
  185.             {t会議室番号    /xx\n}|@putmt|
  186.             {tコメント元番号/xxxxx\n}|
  187.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  188.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  189.             {r送信予約      /予約  /保留\n}|
  190.             {s              / 登録 / メール  / 取消 \n}|
  191.             {tメール宛先    /\n}|
  192.             {t送信元ハンドル/xxxxxxxxxxxxxxxx\n},
  193.             forum,mes,reply,title,1,resp,HANDLE);
  194.     %forum    @head(@getline(a,1,1),{\n});
  195.     %mes    @head(@getline(a,2,1),{\n});
  196.     %reply    @head(@getline(a,3,1),{\n});
  197.     %title    @head(@getline(a,4,1),{\n});
  198.     %reserv    @head(@getline(a,5,1),{\n});
  199.     %ok    @head(@getline(a,6,1),{\n});
  200.     %resp    @head(@getline(a,7,1),{\n});
  201.     %handle    @head(@getline(a,8,1),{\n});
  202.     case    (ok,
  203.         { 1},
  204.         {
  205.         footnote({会議室へのコメントを作成します});
  206.         %file1    @crefile(UP,{res});
  207.         case(@mcheck!=0,{Yes},{mclose(1)});
  208.         mwrite(UP2|file1,memono+1);
  209.         mopen(memono+1,0,181,639,459,{w});
  210.         %res1    @RESERV(reserv)|{forum=}|forum|{;mes=}|mes|
  211.             {;reply=}|reply|{;file=}|UP2|file1|
  212.             {;title=}|title|CRLF;
  213.         write(UP2|{fapxup.ctl},res1);
  214.         DeleteMemo(memono+1);
  215.         InactMemo;
  216.         im({No});
  217.         },
  218.         { 2},
  219.         {
  220.         footnote({発言者へのメールを作成します});
  221.         %file1    @crefile(UP,{res});
  222.         case(@mcheck!=0,{Yes},{mclose(1)});
  223.         mwrite(UP2|file1,memono+1);
  224.         mopen(memono+1,0,181,639,459,{w});
  225.         %res1    @RESERV(reserv)|{mail=}|resp|{;date=;file=}|UP2|file1|
  226.             {;handle=}|handle|{ ;title=}|title|CRLF;
  227.             write(UP2|{fapxup.ctl},res1);
  228.         DeleteMemo(memono+1);
  229.         im({No});
  230.         },
  231.         { 3},{im({Yes})},
  232.         ,{im({Yes})}
  233.         );
  234.     };
  235.  
  236. /* 会議室への新規発言作成処理 */
  237. %sayMES    {
  238.     %forum    @tail(txf,{forum=},{;});
  239.     %mes    @tail(txf,{mes=},{;});
  240.     %title    @tail(txf,{title=},{\n});
  241.     SNDMSG({nyuryo_f.snd});
  242.     %a    @plane(    {cフォーラムの会議室への新規発言\n}|
  243.             {tフォーラム名  /xxxxxxxx\n}|
  244.             {t会議室番号    /xx\n}|@putmt|
  245.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  246.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  247.             {r送信予約      /予約  /保留\n}|
  248.             {s              / 登録 / 取消 \n},
  249.             forum,mes,title,1);
  250.     %forum    @head(@getline(a,1,1),{\n});
  251.     %mes    @head(@getline(a,2,1),{\n});
  252.     %title    @head(@getline(a,3,1),{\n});
  253.     %reserv    @head(@getline(a,4,1),{\n});
  254.     %ok    @head(@getline(a,5,1),{\n});
  255.     case    (ok,
  256.         { 1},
  257.         {
  258.         footnote({会議室への新規発言を作成します});
  259.         %file1    @crefile(UP,{res});
  260.         case(@mcheck!=0,{Yes},{mclose(1)});
  261.         mwrite(UP2|file1,memono+1);
  262.         mopen(memono+1,0,181,639,459,{w});
  263.         %res1    @RESERV(reserv)|{forum=}|forum|{;mes=}|mes|
  264.             {;reply=;file=}|UP2|file1|{;title=}|title|CRLF;
  265.         write(UP2|{fapxup.ctl},res1);
  266.         DeleteMemo(memono+1);
  267.         mopen(memono,0,21,639,459,{w});
  268.         im({No});
  269.         },
  270.         { 2},{im({Yes})},
  271.         ,{im({Yes})}
  272.         );
  273.     };
  274.  
  275. /* メールへの返信作成処理 */
  276. %resMAIL{
  277.     SNDMSG({nyuryo_f.snd});
  278.     %a    @plane(    {cメールの返信\n}|
  279.             {tメール宛先    /\n}|
  280.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  281.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  282.             {t送信元ハンドル/xxxxxxxxxxxxxxx\n}|
  283.             {r送信予約      /予約  /保留\n}|
  284.             {s              / 登録 / 取消 \n},
  285.             @tail(txf,{mail=},{;}),@tail(txf,{title=},{\n}),
  286.             HANDLE,1);
  287.     %mail    @head(@getline(a,1,1),{\n});
  288.     %title    @head(@getline(a,2,1),{\n});
  289.     %handle    @head(@getline(a,3,1),{\n});
  290.     %reserv    @head(@getline(a,4,1),{\n});
  291.     %ok    @head(@getline(a,5,1),{\n});
  292.     case    (ok,
  293.         { 1},
  294.         {
  295.         footnote({メールの返信を作成します});
  296.         %file1    @crefile(UP,{res});
  297.         case(@mcheck!=0,{Yes},{mclose(1)});
  298.         mwrite(UP2|file1,memono+1);
  299.         mopen(memono+1,0,181,639,459,{w});
  300.         %res1    @RESERV(reserv)|{mail=}|mail|{;file=}|UP2|file1|
  301.             {;date=;handle=}|handle|{ ;title=}|title|CRLF;
  302.         write(UP2|{fapxup.ctl},res1);
  303.         DeleteMemo(memono+1);
  304.         im({No});
  305.         },
  306.         { 2},{im({Yes})},
  307.         ,{im({Yes})}
  308.         );
  309.     };
  310.  
  311. /* DLIB作者へのメール作成処理 */
  312. %mailDLIB{
  313.     SNDMSG({nyuryo_f.snd});
  314.     %a    @plane(    {cフリーソフト作者へのメールの作成\n}|
  315.             {tメール宛先    /\n}|
  316.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  317.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  318.             {t送信元ハンドル/xxxxxxxxxxxxxxx\n}|
  319.             {r送信予約      /予約  /保留\n}|
  320.             {s              / 登録 / 取消 \n},
  321.             @tail(txf,{resp=},{;}),,HANDLE,1
  322.             );
  323.     %mail    @head(@getline(a,1,1),{\n});
  324.     %title    @head(@getline(a,2,1),{\n});
  325.     %handle    @head(@getline(a,3,1),{\n});
  326.     %reserv    @head(@getline(a,4,1),{\n});
  327.     %ok    @head(@getline(a,5,1),{\n});
  328.     case    (ok,
  329.         { 1},
  330.         {
  331.         footnote({フリーソフト作者へのメールを作成します});
  332.         %file1    @crefile(UP,{res});
  333.         case(@mcheck!=0,{Yes},{mclose(1)});
  334.         mwrite(UP2|file1,memono+1);
  335.         mopen(memono+1,0,181,639,459,{w});
  336.         %res1    @RESERV(reserv)|{mail=}|mail|{;file=}|UP2|file1|
  337.             {;date=;handle=}|handle|{ ;title=}|title|CRLF;
  338.         write(UP2|{fapxup.ctl},res1);
  339.         DeleteMemo(memono+1);
  340.         im({No});
  341.         },
  342.         { 2},{im({Yes})},
  343.         ,{im({Yes})}
  344.         );
  345.     };
  346.  
  347. /* メールへの返信作成処理 */
  348. %resWPNC{
  349.     SNDMSG({nyuryo_f.snd});
  350.     %a    @plane(    {cインターネットメールの返信\n}|
  351.             {t宛先アドレス  /\n}|
  352.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  353.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  354.             {r送信予約      /予約  /保留\n}|
  355.             {s              / 登録 / 取消 \n},
  356.             @tail(txf,{wpnc=},{;}),@tail(txf,{title=},{\n}),1
  357.             );
  358.     %wpnc    @head(@getline(a,1,1),{\n});
  359.     %title    @head(@getline(a,2,1),{\n});
  360.     %reserv    @head(@getline(a,3,1),{\n});
  361.     %ok    @head(@getline(a,4,1),{\n});
  362.     case    (ok,
  363.         { 1},
  364.         {
  365.         footnote({インターネットメールの返信を作成します});
  366.         %file1    @crefile(UP,{res});
  367.         case(@mcheck!=0,{Yes},{mclose(1)});
  368.         mwrite(UP2|file1,memono+1);
  369.         mopen(memono+1,0,181,639,459,{w});
  370.         %res1    @RESERV(reserv)|{mail=INET:}|wpnc|{;file=}|UP2|file1|
  371.             {;title=}|title|CRLF;
  372.         write(UP2|{fapxup.ctl},res1);
  373.         DeleteMemo(memono+1);
  374.         mopen(memono,0,21,639,459,{w});
  375.         im({No});
  376.         },
  377.         { 2},{im({Yes})},
  378.         ,{im({Yes})}
  379.         );
  380.     };
  381.  
  382. %puthp    {[hpt,id]
  383.     case(id,{},{im({})},,
  384.         {
  385.         %tfl CDIR2|{FAPXTXL.SET};
  386.         case    (@filechk(tfl),{No},{im({})},
  387.             {Yes},
  388.             {
  389.             %rtl @read(tfl);
  390.             %tt @head(@body(rtl,{!}|hpt|{\}|id|{=}),{\n});
  391.             case(tt,{},{im({})},,{im({c              }|tt|CRLF)});
  392.             });
  393.         });
  394.     };
  395.  
  396. /* HPへの書き込み文書作成処理 */
  397. %resHP    {
  398.     %hpid    @tail(txf,{hp=},{;});
  399.     %title    @tail(txf,{title=},{\n});
  400.     %resp    @tail(txf,{resp=},{;});
  401.     SNDMSG({nyuryo_f.snd});
  402.     %a    @plane(    {cHPへの新規発言\n}|
  403.             {tHPのID    /xxxxxxxx\n}|
  404.             {tパスワード    /xxxxxxxx\n}|@puthp({HP},hpid)|
  405.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  406.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  407.             {r送信予約      /予約  /保留\n}|
  408.             {s              / 登録 / メール  / 取消 \n}|
  409.             {tメール宛先    /\n}|
  410.             {t送信元ハンドル/xxxxxxxxxxxxxxx\n},
  411.             hpid,@SCANPW(hpid,{HP}),title,1,resp,HANDLE
  412.             );
  413.     %hpid    @head(@getline(a,1,1),{\n});
  414.     %pass    @head(@getline(a,2,1),{\n});
  415.     %title    @head(@getline(a,3,1),{\n});
  416.     %reserv    @head(@getline(a,4,1),{\n});
  417.     %ok    @head(@getline(a,5,1),{\n});
  418.     %resp    @head(@getline(a,6,1),{\n});
  419.     %handle    @head(@getline(a,7,1),{\n});
  420.     case    (ok,
  421.         { 1},
  422.         {
  423.         footnote({HPへのアップ文書を作成します});
  424.         %file1    @crefile(UP,{res});
  425.         case(@mcheck!=0,{Yes},{mclose(1)});
  426.         mwrite(UP2|file1,memono+1);
  427.         mopen(memono+1,0,181,639,459,{w});
  428.         %res1    @RESERV(reserv)|{hp=}|hpid|{;pass=}|pass|
  429.             {;file=}|UP2|file1|{;title=}|title|CRLF;
  430.         write(UP2|{fapxup.ctl},res1);
  431.         DeleteMemo(memono+1);
  432.         im({No});
  433.         },
  434.         { 2},
  435.         {
  436.         footnote({発言者へのメールを作成します});
  437.         %file1    @crefile(UP,{res});
  438.         case(@mcheck!=0,{Yes},{mclose(1)});
  439.         mwrite(UP2|file1,memono+1);
  440.         mopen(memono+1,0,181,639,459,{w});
  441.         %res1    @RESERV(reserv)|{mail=}|resp|{;date=}|
  442.             {;file=}|UP2|file1|
  443.             {;handle=}|handle|{ ;title=}|title|CRLF;
  444.         write(UP2|{fapxup.ctl},res1);
  445.         DeleteMemo(memono+1);
  446.         im({No});
  447.         },
  448.         { 3},{im({Yes})},
  449.         ,{im({Yes})}
  450.         );
  451.     };
  452.  
  453. /* PATIOへのコメント文書作成処理 */
  454. %resPATIO{
  455.     %patioid@tail(txf,{patio=},{;});
  456.     %title    @tail(txf,{title=},{\n});
  457.     %mes    @tail(txf,{mes=},{;});
  458.     %reply    @tail(txf,{reply=},{;});
  459.     %resp    @tail(txf,{resp=},{;});
  460.     SNDMSG({nyuryo_f.snd});
  461.     %a    @plane(    {cパティオへのコメント\n}|
  462.             {tパティオのID/xxxxxxxx\n}|
  463.             {tパスワード    /xxxxxxxx\n}|
  464.             @puthp({PATIO},patioid)|
  465.             {t会議室番号    /xx\n}|
  466.             {tコメント元番号/xxxxx\n}|
  467.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  468.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  469.             {r送信予約      /予約  /保留\n}|
  470.             {s              / 登録 / メール  / 取消 \n}|
  471.             {tメール宛先    /\n}|
  472.             {t送信元ハンドル/\n},
  473.             patioid,@SCANPW(patioid,{PATIO}),
  474.             mes,reply,title,1,resp,HANDLE);
  475.     %patioid@head(@getline(a,1,1),{\n});
  476.     %pass    @head(@getline(a,2,1),{\n});
  477.     %mes    @head(@getline(a,3,1),{\n});
  478.     %reply    @head(@getline(a,4,1),{\n});
  479.     %title    @head(@getline(a,5,1),{\n});
  480.     %reserv    @head(@getline(a,6,1),{\n});
  481.     %ok    @head(@getline(a,7,1),{\n});
  482.     %resp    @head(@getline(a,8,1),{\n});
  483.     %handle    @head(@getline(a,9,1),{\n});
  484.     case    (ok,
  485.         { 1},
  486.         {
  487.         footnote({パティオへのコメント文書を作成します});
  488.         %file1    @crefile(UP,{res});
  489.         case(@mcheck!=0,{Yes},{mclose(1)});
  490.         mwrite(UP2|file1,memono+1);
  491.         mopen(memono+1,0,181,639,459,{w});
  492.         %res1    @RESERV(reserv)|{patio=}|patioid|{;pass=}|pass|
  493.             {;mes=}|mes|{;reply=}|reply|
  494.             {;file=}|UP2|file1|{;title=}|title|CRLF;
  495.         write(UP2|{fapxup.ctl},res1);
  496.         DeleteMemo(memono+1);
  497.         im({No});
  498.         },
  499.         { 2},
  500.         {
  501.         footnote({発言者へのメールを作成します});
  502.         %file1    @crefile(UP,{res});
  503.         case(@mcheck!=0,{Yes},{mclose(1)});
  504.         mwrite(UP2|file1,memono+1);
  505.         mopen(memono+1,0,181,639,459,{w});
  506.         %res1    @RESERV(reserv)|{mail=}|resp|{;date=;file=}|UP2|file1|
  507.             {;handle=}|handle|{ ;title=}|title|CRLF;
  508.         write(UP2|{fapxup.ctl},res1);
  509.         DeleteMemo(memono+1);
  510.         im({No});
  511.         },
  512.         { 3},{im({Yes})},
  513.         ,{im({Yes})}
  514.         );
  515.     };
  516.  
  517. /* PATIOへの新規発言文書作成処理 */
  518. %sayPATIO{
  519.     %patioid@tail(txf,{patio=},{;});
  520.     %title    @tail(txf,{title=},{\n});
  521.     %mes    @tail(txf,{mes=},{;});
  522.     SNDMSG({nyuryo_f.snd});
  523.     %a    @plane(    {cパティオへの新規発言\n}|
  524.             {tパティオのID/xxxxxxxx\n}|
  525.             {tパスワード    /xxxxxxxx\n}|
  526.             @puthp({PATIO},patioid)|
  527.             {t会議室番号    /xx\n}|
  528.             {tタイトル      /xxxxxxxxxxxxxxxxxxxx}|
  529.                     {xxxxxxxxxxxxxxxxxxxx\n}|
  530.             {r送信予約      /予約  /保留\n}|
  531.             {s              / 登録 / 取消 \n},
  532.             patioid,@SCANPW(patioid,{PATIO}),mes,title,1);
  533.     %patioid@head(@getline(a,1,1),{\n});
  534.     %pass    @head(@getline(a,2,1),{\n});
  535.     %mes    @head(@getline(a,3,1),{\n});
  536.     %title    @head(@getline(a,4,1),{\n});
  537.     %reserv    @head(@getline(a,5,1),{\n});
  538.     %ok    @head(@getline(a,6,1),{\n});
  539.     case    (ok,
  540.         { 1},
  541.         {
  542.         footnote({パティオへの新規発言文書を作成します});
  543.         %file1    @crefile(UP,{res});
  544.         case(@mcheck!=0,{Yes},{mclose(1)});
  545.         mwrite(UP2|file1,memono+1);
  546.         mopen(memono+1,0,181,639,459,{w});
  547.         %res1    @RESERV(reserv)|{patio=}|patioid|{;pass=}|pass|
  548.             {;mes=}|mes|{;}|{reply=;}|
  549.             {file=}|UP2|file1|{;title=}|title|CRLF;
  550.         write(UP2|{fapxup.ctl},res1);
  551.         DeleteMemo(memono+1);
  552.         im({No});
  553.         },
  554.         { 2},{im({Yes})},
  555.         ,{im({Yes})}
  556.         );
  557.     };
  558.  
  559. /* DLIBからのダウンロード制御文作成処理 */
  560. %downDLIB{
  561.     var    downdir    [64];
  562.     var    DocFile    [64];
  563.     var    DataFile[64];
  564.     var    forum    [8];
  565.     var    libno    [2];
  566.     var    datano    [4];
  567.     var    resp    [8];
  568.     %dname    @getchar(@memo(memono,lineno,1),40);
  569.     forum:=    @getchar(@tail(txf,{forum=},{;}),1,8);
  570.     libno:=    @getchar(@tail(txf,{libno=},{;}),1,2);
  571.     datano:=@getchar(@tail(txf,{datano=},{;}),1,4);
  572.     resp:=    @getchar(@tail(txf,{resp=},{;}),1,8);
  573.     case    (@nochar(FSW),
  574.         0,{downdir:=LOG2|{FREESOFT\}},
  575.         3,{downdir:=FSW},
  576.         ,{downdir:=FSW|{\}}
  577.         );
  578.     case    (FSWSUBDIR={forum},{Yes},{downdir:=downdir|forum|{\}});
  579.     DataFile:=downdir|@tail(txf,{datafile=},{;});
  580.     DocFile    :=downdir|@tail(txf,{docfile=},{;});
  581.     loop    ({
  582.         SNDMSG({nyuryo_f.snd});
  583.         %a    @plane(    {cライブラリからのダウンロード\n}|
  584.                 {tフォーラム名  /xxxxxxxx\n}|
  585.                 {tライブラリ番号/xx\n}|
  586.                 {tデータ番号    /xxxx\n}|
  587.                 {cデータ名      }|dname|
  588.                 {tデータファイル/\n}|
  589.                 {s    一覧      / ファイル指定  /ディレクトリ指定\n}|
  590.                 {t概要ファイル  /\n}|
  591.                 {s    一覧      / ファイル指定 /ディレクトリ指定\n}|
  592.                 {rダウンロード予約  /予約  /保留 /割引 \n}|
  593.                 {s              /  登録  /概要のみ/  取消  \n}|
  594.                 {c\n}|
  595.                 {s作者(}|resp|{)へのメール送信/ 作成 \n},
  596.                 forum,libno,datano,DataFile,DocFile);
  597.         forum:=        @head(@getline(a,1,1),{\n});
  598.         libno:=        @head(@getline(a,2,1),{\n});
  599.         datano:=    @head(@getline(a,3,1),{\n});
  600.         DataFile:=    @head(@getline(a,4,1),{\n});
  601.         %sel1        @head(@getline(a,5,1),{\n});
  602.         DocFile:=    @head(@getline(a,6,1),{\n});
  603.         %sel2        @head(@getline(a,7,1),{\n});
  604.         %reserv        @head(@getline(a,8,1),{\n});
  605.         %ok        @head(@getline(a,9,1),{\n});
  606.         %mail        @head(@getline(a,10,1),{\n});
  607.         case    (sel1,
  608.             { 1},
  609.             {
  610.             footnote({ダウンロードファイルを指定してください});
  611.             DataFile:=@FILEsel1;
  612.             DocFile:=@body(DataFile,,{.})|{.ggg};
  613.             footnote({});
  614.             im({Yes});
  615.             },
  616.             { 2},
  617.             {
  618.             footnote({ダウンロードディレクトリに移動してキャンセルしてください});
  619.             filesel;
  620.             DataFile:=@dir2(@getcdir)|@tail(DataFile,{\});
  621.             DocFile:=@body(DataFile,,{.})|{.ggg};
  622.             footnote({});
  623.             im({Yes});
  624.             });
  625.         case    (sel2,
  626.             { 1},
  627.             {
  628.             footnote({ダウンロードファイルを指定してください});
  629.             DocFile:=@FILEsel1;
  630.             footnote({});
  631.             im({Yes});
  632.             },
  633.             { 2},
  634.             {
  635.             footnote({ダウンロードディレクトリに移動してキャンセルしてください});
  636.             filesel;
  637.             DocFile:=@dir2(@getcdir)|@tail(DocFile,{\});
  638.             footnote({});
  639.             im({Yes});
  640.             });
  641.         case    (mail,
  642.             { 1},
  643.             {
  644.             footnote({作者へのメールを作成します});
  645.             OpenMemo;
  646.             loop    ({
  647.                 footnote({終了取消    清書    }|
  648.                      {        参照    CD辞}|
  649.                      {        },{b});
  650.                 waitx();
  651.                 case    (@xtype,
  652.                     101,{savememo},    201,{savememo},
  653.                     102,{cancel},    202,{cancel},
  654.                     104,{rewrite},    204,{rewrite},
  655.                     108,{newmemo},    208,{newmemo},
  656.                     110,{cddic},    210,{cddic},
  657.                     ,{im({Yes})}
  658.                     );
  659.                 });
  660.             });
  661.         case    (ok,
  662.             { 1},
  663.             {
  664.             case    ((DataFile={}||@getchar(DataFile,2,2)={:\})&&
  665.                  @getchar(DocFile,2,2)={:\},
  666.                 {No},
  667.                 {
  668.                 footnote({ファイル名はドライブ名からの}|
  669.                     {パスで指定してください});
  670.                 wait(2);
  671.                 im({Yes});
  672.                 },
  673.                 {Yes},
  674.                 {
  675.                 case    (@filechk(DataFile)||DataFile=DocFile,
  676.                     {Yes},
  677.                     {
  678.                     footnote({データファイル名が}|
  679.                         {重複しています});
  680.                     wait(2);
  681.                     im({Yes});
  682.                     },
  683.                     {No},
  684.                     {
  685.                     write(UP2|{fapxdown.ctl},
  686.                         @RESERV(reserv)|
  687.                         {forum=}|forum|
  688.                         {;libno=}|libno|
  689.                         {;datano=}|datano|
  690.                         {;docfile=}|DocFile|
  691.                         {;datafile=}|DataFile|{;\n});
  692.                         case    (@mcheck!=memono,
  693.                         {Yes},{mopen(memono)}
  694.                         );
  695.                     im({No});
  696.                     });
  697.                 });
  698.             },
  699.             { 2},
  700.             {
  701.             case    (@getchar(DocFile,2,2)={:\},
  702.                 {No},
  703.                 {
  704.                 footnote({ファイル名はドライブ名からの}|
  705.                     {パスで指定してください});
  706.                 wait(2);
  707.                 im({Yes});
  708.                 },
  709.                 {Yes},
  710.                 {
  711.                 write(UP2|{fapxdown.ctl},
  712.                     @RESERV(reserv)|
  713.                     {forum=}|forum|
  714.                     {;libno=}|libno|
  715.                     {;datano=}|datano|
  716.                     {;docfile=}|DocFile|
  717.                     {;datafile=;\n});
  718.                 case    (@mcheck!=memono,
  719.                     {Yes},{mopen(memono)}
  720.                     );
  721.                 im({No});
  722.                 });
  723.             },
  724.             { 3},{im({No})},
  725.             ,{im(!(sel1={ 0}&&sel2={ 0}&&ok={ 0}&&mail={ 0}))}
  726.             );
  727.         });
  728.     im({Yes});
  729.     };
  730.  
  731. /*    ダウンロードファイル指定処理    */
  732. %FILEsel1{
  733.     var    dnfile    [64];
  734.     SNDMSG({erande_f.snd});
  735.     dnfile:=@filesel;
  736.     case(dnfile<>{},{Yes},{dnfile:=@dir2(@getcdir)|dnfile});
  737.     im(dnfile);
  738.     };
  739.  
  740. COMMENT2(memono,file,lineno);
  741.